import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const state = {
    showTabbar: true,
    area: {}
}

const getters = {
    getterShowTab() {
        return state.showTabbar
    },
    getArea() {
        return state.area
    }
}

const mutations = {
    show(state) { //自定义改变state初始值的方法，这里面的参数除了state之外还可以再传额外的参数(变量或对象);
        state.showTabbar = true;
    },
    hide(state) { //同上
        state.showTabbar = false;
    },
    setArea(area) {
        state.area = area;
    }
};

const actions = {
    hideTab(context) { //自定义触发mutations里函数的方法，context与store 实例具有相同方法和属性
        context.commit('hide');
    },
    showTab(context) { //同上注释
        context.commit('show');
    }
};

export default new Vuex.Store({
    state,
    actions,
    getters,
    mutations
})
